<div class="m-bg">
<h1>SQL Server CONVERT() 函数</h1>
<h2>定义和用法</h2> <p>CONVERT() 函数是把日期转换为新数据类型的通用函数。</p> <p>CONVERT() 函数可以用不同的格式显示日期/时间数据。</p> <h2>语法</h2> <div class="code notranslate"><pre><code class="language-sql"><div> CONVERT(<i>data_type(length)</i>,<i>expression</i>,<i>style</i>)</div></code></pre></div> <br/><table class="reference notranslate">
<tr>
<th align="left" width="30%">值</th> <th align="left" width="70%">描述</th> </tr>
<tr>
<td><i>data_type(length)</i></td> <td>规定目标数据类型（带有可选的长度）。</td> </tr>
<tr>
<td><i>expression</i></td> <td>规定需要转换的值。</td> </tr>
<tr>
<td><i>style</i></td> <td>规定日期/时间的输出格式。</td> </tr>
</table>
<p>下面的表格展示了 datetime 或 smalldatetime 转换为字符数据的 style 值：</p> <table class="reference notranslate">
<tr>
<th align="left" width="15%">值<br/> (世纪 yy)</th> <th align="left" width="17%">值<br/> (世纪 yyyy)</th> <th align="left" width="48%">输入/输出</th> <th align="left" width="20%">标准</th> </tr>
<tr>
<td>-</td> <td>0 or 100</td> <td>mon dd yyyy hh:miAM (or PM)</td> <td>Default</td> </tr>
<tr>
<td>1</td> <td>101</td> <td>mm/dd/yy</td> <td>USA</td> </tr>
<tr>
<td>2</td> <td>102</td> <td>yy.mm.dd</td> <td>ANSI</td> </tr>
<tr>
<td>3</td> <td>103</td> <td>dd/mm/yy</td> <td>British/French</td> </tr>
<tr>
<td>4</td> <td>104</td> <td>dd.mm.yy</td> <td>German</td> </tr>
<tr>
<td>5</td> <td>105</td> <td>dd-mm-yy</td> <td>Italian</td> </tr>
<tr>
<td>6</td> <td>106</td> <td>dd mon yy</td> <td> </td> </tr>
<tr>
<td>7</td> <td>107</td> <td>Mon dd, yy</td> <td> </td> </tr>
<tr>
<td>8</td> <td>108</td> <td>hh:mm:ss</td> <td> </td> </tr>
<tr>
<td>-</td> <td>9 or 109</td> <td>mon dd yyyy hh:mi:ss:mmmAM (or PM)</td> <td> Default+millisec</td> </tr>
<tr>
<td>10</td> <td>110</td> <td>mm-dd-yy</td> <td>USA</td> </tr>
<tr>
<td>11</td> <td>111</td> <td>yy/mm/dd</td> <td>Japan</td> </tr>
<tr>
<td>12</td> <td>112</td> <td>yymmdd</td> <td>ISO</td> </tr>
<tr>
<td>-</td> <td>13 or 113</td> <td>dd mon yyyy hh:mi:ss:mmm (24h)</td> <td> </td> </tr>
<tr>
<td>14</td> <td>114</td> <td>hh:mi:ss:mmm (24h)</td> <td> </td> </tr>
<tr>
<td>-</td> <td>20 or 120</td> <td>yyyy-mm-dd hh:mi:ss (24h)</td> <td> </td> </tr>
<tr>
<td>-</td> <td>21 or 121</td> <td>yyyy-mm-dd hh:mi:ss.mmm (24h)</td> <td> </td> </tr>
<tr>
<td>-</td> <td>126</td> <td>yyyy-mm-ddThh:mi:ss.mmm (no spaces)</td> <td> ISO8601</td> </tr>
<tr>
<td>-</td> <td>130</td> <td>dd mon yyyy hh:mi:ss:mmmAM</td> <td>Hijiri</td> </tr>
<tr>
<td>-</td> <td>131</td> <td>dd/mm/yy hh:mi:ss:mmmAM</td> <td>Hijiri</td> </tr>
</table>
<h3><b>实例</b></h3> <p>下面的脚本使用 CONVERT() 函数来显示不同的格式。我们将使用 GETDATE() 函数来获得当前的日期/时间：</p> <div class="code notranslate"><pre><code class="language-sql"><div> CONVERT(VARCHAR(19),GETDATE())<br/> CONVERT(VARCHAR(10),GETDATE(),10)<br/> CONVERT(VARCHAR(10),GETDATE(),110)<br/> CONVERT(VARCHAR(11),GETDATE(),6)<br/> CONVERT(VARCHAR(11),GETDATE(),106)<br/> CONVERT(VARCHAR(24),GETDATE(),113)<br/>
</div></code></pre></div> <p>结果如下所示：</p> <div class="code notranslate"><pre><code class="language-sql"><div> Nov 04 2011 11:45 PM<br/> 11-04-11<br/> 11-04-2011<br/> 04 Nov 11<br/> 04 Nov 2011<br/> 04 Nov 2011 11:45:34:243 </div></code></pre></div> <div class="text-center padding-10 margin-t-5">
</div>
</div>